﻿package kit4j.util.awt;

import java.awt.Dimension;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import java.awt.Insets;
import java.awt.Toolkit;

/**
 * 桌面系统工具类（Helper）。
 * 
 * @author MiniKnife
 * 
 */
public class DesktopUtil {

	/**
	 * 返回系统桌面的大小。 在Windows系统下即当前显示屏幕大小减去任务栏大小。
	 * 
	 * @param gc
	 *            一个 GraphicsConfiguration
	 * @return 桌面的大小，以像素为单位。
	 * @throws HeadlessException
	 *             - 如果 GraphicsEnvironment.isHeadless() 返回 true。
	 */
	public static Dimension getDesktopSize(GraphicsConfiguration gc) throws HeadlessException {
		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension screenSize = tk.getScreenSize();
		Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc);

		screenSize.width -= insets.left + insets.right;
		screenSize.height -= insets.top + insets.bottom;

		return screenSize;
	}
}
